Portable electronic devices, such as those configured to be handheld or otherwise associated with a user, are employed in a wide variety of applications and environments. Increasingly, such devices are equipped with one or more sensors or other systems for determining the position or motion of the portable device. Notably, devices such as smartphones, tablets, smart watches or other portable devices may feature Global Navigation Satellite Systems (GNSS) receivers, low cost Micro Electro-Mechanical Systems (MEMS) inertial sensors, barometers and magnetometers. GNSS and multi-sensors can be integrated to provide promising positioning results in most outdoor environments. However, some mass market applications require seamless positioning capabilities in all kinds of environments such as malls, offices or underground parking lots. In the absence of GNSS signals in indoor environments, the conventional Strapdown Inertial Navigation System (SINS) that uses low cost inertial sensors, suffers significant performance degradation due to the accumulated sensor drifts and bias. As such, positioning technologies relying solely on motion sensors may not satisfy all requirements for seamless indoor and outdoor navigation applications.
Pedestrian Dead Reckoning (PDR) is an example of a technique for indoor/outdoor positioning, and has become the focus of industrial and academic research recently. Similar to the SINS, PDR accumulates successive displacement from a known starting point to derive the position. This displacement (step length) can be estimated with various algorithms within a certain accuracy using the inertial sensor measurements. The position error using step lengths from PDR accumulates much slower than that from the accelerometer derived displacement from SINS. The PDR shows improved performance over SINS without GNSS updates. However, PDR still lacks robustness because of the accumulated heading error. Conventional methods of complementing sensor-based navigation include systems that are based on trilateration of received wireless signals, such as WiFi™ access points or dedicated beacons. As will be recognized, such methods involve considerable additional equipment and deployment overhead.
The performance of SINS and/or PDR techniques may be significantly improved if corrections are available during the positioning trajectory. For example, a source of position information that may be used to correct a sensor-based solution may be termed an “anchor point,” which generally means a source of position information that is known without reference to motion sensor data. One potential resource for deriving anchor points that may be used to supplement a position solution exists when a user carries the portable device through a retail venue. By analyzing point of sale data, it may be determined which items were purchased by the user. Accordingly, each purchased item may constitute an anchor point if the absolute position of the item within the retail venue is known. Notably, each product may have a designated location on shelves or other display features within the retail venue that may be stored in a database maintained by retail venue or provided by third parties that provide store maps and product shelf databases. Other similar services may also be employed. An interaction between the user and each item purchased may be assumed, involving the user taking the item from its shelf location in association with buying it, indicating the user was at the location corresponding to the item's position in the retail venue. Accordingly, a list of items purchased during a transaction represents a set of anchor points that may be associated with a trajectory through the store. Anchor points may also be used in other venues, such as office buildings, hospitals, malls, conference centers, exhibition halls, museums and the like.
In addition to aiding a navigation solution, analytics involving marketing, advertising, and shopper behavior may all be significantly facilitated by using knowledge of a user's trajectory through a venue, such as a retail store. As will be appreciated, understanding how a user navigates through a store reveals a wealth of information useful to retailers, manufacturers, advertisers, and other commercial entities. By analyzing the trajectory, insight may be gained for redesigning or otherwise optimizing store layout, such as by reorganizing product placement to enhance sales. Further, the success of packaging designs and advertising strategies may be gauged as well as other aspects of influencing purchasing decisions. Other examples of information that may be determined from a user's trajectory and point of sale information include identification of missed conversions, metrics regarding the user's experience such as check out duration or queue measurement, purchase sequence, and traffic flow by a department, end-cap, aisle, and category. By using location information for users, retailers may retarget consumers based on their in-store browsing and shopping history, leading to improvements in conversion rates and customer loyalty.
To obtain the advantages associated with using anchor points to help provide navigation solutions for a portable device, the proper set of anchor points must be correctly correlated to the motion sensor data representing the user's travel through the venue. Depending upon the source of the anchor point information and the user's privacy settings, situations may exist in which one or more sets of anchor points are not positively identified with a specific user. For example, some retail stores may have loyalty programs to encourage and attract the customers to visit the store, while other stores may have applications that run on a portable device to guide a user through a venue and locate items of interest, such as sales. However, if the user has not signed in or otherwise provided identification, there may be no direct association between a given set of anchor points and the motion sensor data associated with a user's trajectory. Correspondingly, the retail venue may have access to one or more sets of anchor points from sales records as well as one or more user trajectories, but not have information for matching them. While some grouping may be performed on the basis of the time stamps associated with the motion sensor data and the anchor point sets, it is to be expected within any given window of time, there may be multiple trajectories and multiple anchor point sets. Therefore, the techniques of this disclosure are directed to assigning a set of anchor points to a trajectory of a portable device. As will be described in the following materials, these techniques may be applied when any number of trajectories are available and when any number of anchor point sets are available, even if they are different numbers.